----------------------------------------------------------------------------------
                      JobTime (c) 1998/99 by Maik Boenig
                   Documentation for Version 3.10 and above
----------------------------------------------------------------------------------

This Software is distributed as Shareware. If you like it, please register at
www.palmgear.com. Registering fee is only 5$.

The unregistered version requests for registering once a month. In addition
it is not possible to enter notes for records. These are the only
differences to the registered version.

----------------------------------------------------------------------------------

Overview
Getting started
Main View
Record-List
Preferences Part 1 (with an example)
Preferences - Working times
Preferences Part 2
Preferences Part 3 (Cut off values)
Global Preferences
Entering a new record
Notes
Project-List-Dialog
Editing records
Creating Memos
Creating Datebook entries
Reset Archive Bits
Update Archive Bits
Graphical overview
Define Projects
Show Project Statistics
Delete records
Registering
Known Bugs
Future plans
About me
History
Disclaimer

----------------------------------------------------------------------------------
                                     Overview
----------------------------------------------------------------------------------

JobTime manages your daily working times. It keeps track of your overtimes,
remaining holidays, days of working, .... You can define projects, enter times
you've worked for them and get statistics of them. Besides it shows a graphical
overview of a selected year. Complex working models like early-, late-, night
shift can be handled by defining several preferences, where normal working times,
lunch break, ... were be defined. Other features are the creation of Memos with a
summary of your working times with selectable details and a user-defined range as
well as the possibility to create Datebook-entries of your working time.

JobTime is my first project for the pilot. I started developing with the free Gnu
and Pilrc Resource Compiler. Many thanks to all of you, who where participated in
these programs.

With adding more functions, JobTime went to big to handle with the Gnu Compiler.
So I rewrote the source to use it with Codewarrior.

----------------------------------------------------------------------------------
                                  Getting started
----------------------------------------------------------------------------------

Unzip the file 'JobTime.prc' and use the Pilot Install program to install it on the
pilot. After the next Hotsync, JobTime should be available.

When you start JobTime for the first time, you have to define some preferences.
Refer to  the documentation of the preferences for more information.


----------------------------------------------------------------------------------
                                    Main View
----------------------------------------------------------------------------------

This window gives a short overview of the most important values. Therefore these
values have to be calculated at startup of JobTime, if a changing of a relevant
parameter has occurred (you can disable this feature: refer to Global preferences).
The following values are shown (from top to the bottom):

1. The first value shows the remaining hours and minutes for the current week.
   Records for dates in the future, but in the current week, are taken into
   consideration. For example, this can be a holiday at the end of a week.
   Overtime-work, which was taken into the current week, is not taken into
   consideration.

2. The second values shows the remaining hours and minutes of the current month.
   Like above, all relevant data (not only data in the past) is considered.
   Only worktime for the current month flow into the calculation of this value, so
   overtime of the last year does not change this value.

3. These are hours and minutes remaining in this year (I know it's nothing you
   really want to look at). The remarks for 1. and 2. apply to this value, too.

4. The fourth field shows the remaining days you have to work in the current year.
   In contrast to point 1. to 3., future entries are not taken into calculation.
   So, if you have to work 50 days and have 30 holiday-days left, be happy  :-).
   The current day is not taken into consideration for this value.

5. These are your remaining holiday-days for this year. They are calculated at a
   day-basis and rounded (important). So if you get 24 holiday-days a year and
   the current date is 03-01, you only see 4 holiday-days (if you haven't taken
   one or more days).

6. If it's possible to collect time on extra work, which can be taken another day,
   this field shows the collected overtime (differences of this field compared to
   the value shown in the window of all records are described and explained below).

In the left of these values are bottoms with brings you to the list of records
for the selected range:

1. 'time remaining this week' lists all records for this week.

2. 'time remaining this month' lists all records for this month.

3. 'time remaining this year' lists all records for this year.

4. 'remaining working-days' has no effect (just for optical reasons).

5. 'remaining holiday-days' shows all taken holidays and holidays, which are 
   already planned in the future.

6. 'current worked overtime' lists all records.

----------------------------------------------------------------------------------
                                  Record-List
----------------------------------------------------------------------------------

Depending on the selected menu or the button you've pressed, you see all records
for the selected range. The range is shown at the top of the screen. If there are
more records to show than to handle on this screen, a scrollbar is displayed. It
gives you the possibility to scroll through all records. Tapping on an record
opens the screen, where you can edit an record. All records are shown in a list.

Shortly described, the list consists of five columns: 

1. The first column shows the date of the record.
 
2. The second column shows the time of beginning of the record.

3. The third column shows the end-time of this record.

4. The fourth column (named +/-) shows the worked overtime for this record.

5. The last column displays the sum of the fourth column

For 'normal' records, all items have usual values. But for special records, the
items get other values:

a) If you enter more than one record for a day, only on the last entry for this
   day all items have normal values. The last two columns of all entries prior
   to the last show '---->'. This means that you have to look at the last entry
   for this day to see the '+/-' and the sum for the whole day.
b) If you take a holiday, all values except the date show '--:--'.
c) For religious or public holidays only the date is talen from the record.
   The beginning-time is set to '00:00' and the end-time is set to '24:00'.
   As mentioned in b) the '+/-' and 'sum' have the values '--:--'.
d) If you decrease overtime manually, the begin and end field contains man.dec.
e) If you increase overtime manually, the begin and end field contains man.inc.

There are two types of lines appearing in this screen. A dotted one and a
normal line. This is for clearness. A dotted line appears between the end of
one week and the beginning of another. A continuous line appears between
different month.

At the bottom of this screen, there are two or four buttons with descriptions
depending on your selection. They are described from left to right.

1. By pressing the 'Close' Button you return to the window you see before.

2. The next Button is labeled 'Next X', where X is one of the following characters:
   W,M,Y. It depends on your previous selection and means 'W'eek, 'M'onth and
   'Y'ear. This button changes to the next range of the same type. For example: If
   you've selected a week-overview, you can change to the next week. (1)

3. The third button from left is the same as 2., only that you select the previous
   range of the same type. (1)

4. The last button is separated from the other three buttons. By pressing, the
   character right of this button changes.  The characters have the follwing meanings:
   'C': the current overtime is displayed.
   'M': shows the maximum sum in the selected range
   'm': shows the minimum sum in the selected range
   '+': sum of all positive records
   '-': sum of all negative records
   'R': number of records for the choosen range
   'N': number of records with an overtime > 0
   'n': number of records with an overtime < 0

If you choose a week-overview, you can see a number in the upper right corner. This
is the number of the choosen week. Because the definition for the first week varies
for different countries, you can set your definition in the global preferences.

(1) These buttons are not existent, when you choose a user-defined range.

NOTE:
-----

  When you choose to show all entries, the sum isn't necessary the same value as
  in the main menu. The reason for this is, that in the list only the records are
  considered. So if you forgot to enter a record for a day, this is not calculated
  in the list view, but in the main window.

----------------------------------------------------------------------------------
                               Preferences Part 1
----------------------------------------------------------------------------------

Preferences are mainly used to define your working conditions. When you want to
enter new conditions (or have to enter them for the first time at startup of JobTime),
you see this screen. Also. they set some initial settings for the dialog 'New entry'.

The first two fields (over the separator) are used for presettings. They have
nothing to do with the calculation.

The field ('lunch-break') describes the normal lenght of your daily
lunch-break. The format for this field is hh:mm or just mm. A decimal format
(like 7,5 for 07:30) is also accepted. Your entry is used as a standard setting
for new entries of your daily working time. Of course you're be able to set
different lunch-breaks for each working day.

The 'Begin' and 'End' describe your normal working time. You can set this
fields manually (format hh:mm or decimal) or use the Select Button at the right.

The following fields are used for the calculation. Therefore these are the fields,
where you enter your contract-settings.

In the field ('effective as from') you have to enter the date, when your
conditions become valid. The format is defined in your System-Preferences of your
Pilot. Look at them under the Pilot-Program 'Prefs'.

'Working time per week' describes the weekly working time in the format hh:mm. You
can't set this value in this screen. You have to go to the working-times dialog
by pressing the Select button.

The field 'Days of holiday-time' requires your holidays per year.

'Suppress missing dates-warnings': If this CheckBox is not marked, JobTime does
remind you of missing entries. If you, for example, worked Monday to Friday as
your standard working days and forget to enter a record for Thursday, JobTime
reminds you of this missing entry.

In 'Normal working days' you have to check all your normal workdays. The reminding
of missing entries (see above) depends on this setting.




If your contract changes, you are able to set those new settings in addition to
the old ones. To do this, you can simply add other preferences.

If you enter more than one preference, the one with the later date disables the
ones with earlier dates after the validation date; the later one takes turn of
the earlier one from this point on.

Example:
--------

You have the following contract: 	40 hours to work weekly
					5  days of working per week
					(Monday to Friday)
					28 holidays per year
Your normal working times are:		You work 4 days (Monday to Thursday):
					07:00 - 16:30 with 00:30 lunch-break
					1 day (Friday):
					08:00 - 12:00 without lunch-break
Your recording begins at: 		4/1
Your overtime at 3/31:			14:20
Your taken holidays at 4/1:		3


Your settings for this situation:
	a) Global preferences:
		- Overtime until first record: +14:20
		- Holidays-carry-over: You have to calculate this value:
		  For the time 1/1 until 3/31 you get proportionate holidays:
		  28/12 per month multiplied with 3 month (jan-mar) = 7
		  So you get 21 days for the time 4/1 - 12/31. This is the
		  value which JobTime shows.
		  You took 3 holidays out of the 7 for the first three month,
		  so you have 4 left for the three month. So, you enter the
 		  the value '+4' in this field.
	    You have to make these calculation only once !
	b) Preferences Part 1:
		- lunch-break: Mostly you made a lunch-break of 00:30.
 		  So enter 00.30 into the lunch-break field.
		  When entering the record for Friday, uncheck the checkbox
		  for the lunch-break. 
		- Begin/End: You normaly begin at 07:00 (most of your
		  working days). You end most times at 16:30. So these
		  are the values you enter in the begin/end fields.
		  When you enter the record for Friday, you have to set your
		  working times manually via the dialog box, otherwise the
 		  the values of the time dialog are preset.
		- effective as from: the date you start your recording:
		  So, please enter 04/01/1999
		- Days of holiday time: As in contract: 28
		- Normal days of working: Monday - Friday

	Thats all
		
				

----------------------------------------------------------------------------------
                           Preferences - Working times
----------------------------------------------------------------------------------

From version 3.00 on it is possible to set different working times for every day.
You can enter all times in format hh:mm, hh or in a decimal format. Copy/Paste is
available through the menu.

In addition, you can enter a value, which describes, how much overtime a day is
needed, before counting as overtime. Some contracts say, you have a working time
of 35 hours (for example), but have to work up to 1 hour more a day, before
counting as overtime.

----------------------------------------------------------------------------------
                               Preferences Part 2
----------------------------------------------------------------------------------

This screen gives you the possibility to enter repeating Preferences. If you - for
example - have two alternating working conditions (one week early shift from Monday
to Friday, the other week late shift Tuesday to Saturday), you can set this
condition with only two preferences. All you have to do is to set a repeating delay
of two weeks for both with one set goes a week behind the other.

Defining preferences this way is nearly the same as defining every preference
as one record. There's only one difference, which you can see, when you try to
delete preferences of such a group. Then you have the possibility to delete only
the selected item or the whole series of preferences.

You have to set an enddate for a series of preferences. 

----------------------------------------------------------------------------------
                        Preferences Part 3 (Cut off values)
----------------------------------------------------------------------------------

There are many contracts allowing the 'collecting' of overtime. For example, you can
have an amount of 12:00 overtime at the end of a month. You can decrease this time in
the next month or take it over into the next. But there are also company, where you only
can have a maximum amount of hours to take into the next month. At my company, I can take
20:00 into the next month. If I, for example, have 25:00 at 01/31, I loose five hours.
So at 02/01 I only have 20:00 left (in fact, I try to decrease this amount by taking
some free time...).
Other companies allow any amount over the year, but at year's end, you loose everything.

In Germany you have (as far as I know) to take all holidays for a year until the 04/01
of the following year, otherwise you loose your holidays left for the old year. An
Example: You have 30 holidays in 1997 and 30 in 1998. In 1997 you take only 25. So you
have 5 holidays left for 1997 (in sum: 35 in 1998). If you do not take a holiday until
04/01, you loose these 5 days, so you only have 30.

You can define this situation in JobTime. Therefore you have to open the Preferences
screen, where all your contract data is defined. Then by pressing the 'Cut off'-Button,
you see the screen for defining the above situation.

The first section is for defining the hours you can collect:
If you select something other then 'never' in the trigger, the input-field for the hours
appears. Enter the maximum amount of hours you can collect. The trigger defines the date
for 'cutting' everything over this amount. For my situation the trigger is set to 'End 
of month'. The Time I have to set, is '20:00'.

In the second section you can define the holidays-situation:

In addition, this dialog allows the user to define, if a new contract begins with zero
holidays or zero overtime-hours. This is helpful for the following examples:
1) You change the company you work for. Then normally you are not allowed to take the
holidays and overtime from the old contract to the new one. Therefore you start with
zero holidays and zero overtime-hours. So both checkboxes have to be marked.
2) You company changes the contract. For example, your weekly working time changes from
40 to 38 hours. For this change you have to define new preferences. But your old
holidays-/overtime-amount can be taken to the new contract. So both checkboxes remain
unset.
There are other exaples, where you can take your holidays, but not your overtime and
vice versa.

Part three and four allow to define values, which are taken as start-values for
the current contract. (Until 3.00, the start value for the first defined contract
was defined in the global preferences). For every contract you can define this
value independent from any other contract.

The last part defines the length of lunch-break you have to take after a certain
working-time. It's not possible, to create a record, when ignoring this lenght. In
germany, we have a law defining this lunch-break-length.
An example. You define the following values in JobTime:

00:30 lunch-break after 02:00 work
00:15 lunch-break after 03:00 work
00:20 lunch-break after 04:00 work

After 2 hours of work you have to take a 30 minutes lunch-break. After working
an additional hour (3 hours work), you have to take an additional 15 minutes
lunch-break. Finally, working 5 hours (for example), you have to take a
lunch-break of 30+15+20 = 65 minutes.

----------------------------------------------------------------------------------
                              Global Preferences
----------------------------------------------------------------------------------

This dialog is used to define global settings for JobTime. These are:

'Preset lunch-break in new rec.':
If you create a new record for logging times, there's a checkbox defining if you
took a lunch-break or not. With 'Preset lunch-break in new rec.' you can define,
if the checkbox is checked or not when creating a new record.

'Auto-calculation':
Auto-calculation is helpful, if you have a database with many records: By entering
one or more records or editing existing records, JobTime recalculates all values
shown in the main-screen. This calculation takes times.... If you like to control
this recalculation by yourself, you can disable this feature. If disabled, re-
calculation can be manually started from the menu 'Force recalculation' in the
main screen. Because you don't know at which point the main screen shows the
actual values, a warning is displayed in the main screen. This reminds you to
force a manual recalculation to get the new values.

'Deeper graphical overview':
See description in 'graphical overview'.

'Enhanced New-Dialog': 
When set, JobTime 'presets' the new-dialog and looks for overlapping entries.
When you want to create a new entry and choose a date for it, JobTime looks, if
there are other records for this date. If JobTime finds some, it presets the
Begin and End-Field following some rules:
a) If the date is a non working day, no values are set
b) If the last record ends earlier than the normal end-time, the Begin-Field is
   filled with the end-time of the last one, the end-field gets the normal
   end-time. So the new records follows straight after the last found.
c) If the last found record ends later than the normal end-time, only the begin
   field gets a value.
d) If no other record can be found for this date, the normal begin and end-times
   are set.

In addition, every new record is checked, if it overlaps with another record. If so,
you get a warning and can choose, if you like to create it or not.

'Show last record first':
If this checkbox is marked, JobTime scrolls to the last record, when showing
an overview over choosen records.

1.week of year: Because different countries have different definitions for the
first week of a year, you can set your definition with this dialog. As an example,
in Germany the first week of a year is the first week with more than 3 days.
Also, different countries handle the begin of week in a different way. In some
countries, the week begins at Monday, in other countries it begins on Sunday.
You find this setting in the System Preferences of your Pilot. JobTime takes
care of this setting in the calculation of the week-number, in the week-overview
and the graphical overview of all records. 

----------------------------------------------------------------------------------
                             Entering a new record
----------------------------------------------------------------------------------

You can enter a new record by tapping on the new button in the main screen. As an
alternate you can get to this screen, if you do not mark the 'Suppress missing
date-warnings' Checkbox in the preferences (see above) and JobTime finds a day,
which seems to be a normal working day, but which has no record. Then you get to
this screen with the missing date entered in the Date field.

First you have to select a date for the new record and enter it in the date field.
You can set the date manually or you choose the Select-Button. The date must have
the format you defined in your System-Preferences of the Pilot.

After that you have to select the Begin- and End-time for this record (in most
cases the period of your work). The format for these two times is 'hh:mm' or a
decimal format. By tapping the Select-Button you can set the time fields via the
normal dialog. This dialog opens with the predefined times you set in the
preferences (see above).

Then you have to select, if you have a lunch-break during the time of your record.

The next input you have to do is the description of your record. You should choose

  'normal work'         for your daily work
  'work overtime'       if you work longer than normal
  'go on leave'         if you take a holiday
  'decrease overtime'   if you don't work for the selected time-range and take
                        from your overtime 
  'public holiday'      self-explaining
  'religious holiday'   self-explaining
  'report sick'         self-explaining
  'manual decrease'	if you want to decrease overtime
			(for example: You have +10 hours and get paid for 5 hours)
  'manual increase'     if you want to increase overtime
			(example: working on weekend: for 1 hour work you get 1:30)
  'statistic only'	The time of this record only counts when calculating
			project times. It does not count when calculating
			working- or overtimes

Examples: You work at 03/01 your normal time of 7 hours:
          Select 'normal work'
  
          You work at 03/02 only 6 hours:      
          Select for the first 6 hours 'normal work'
          Make another entry for the missing hour with 'decrease overtime'
          (Note: You don't have to enter a record for the missing hour, but then
           you get no documentation of this missing hour, the calculations are
           the same)

          You work at 03/03 8 hours:
          Select for the first 7 hours 'normal work'
          Make another entry for the last hour with 'work overtime'
          (Note: As an alternative, you can enter one entry for the whole time,
           but as above, no documentation..., but the same calculations)

NOTE:
-----
       You have to keep an eye on your selected lunch-breaks. If you enter more
       than one record for a day and set for every record a lunch-break, the
       calculation goes wrong.

The next requested input is the length of your lunch-break (if you had one). You
can set a length manually by selecting the time or you choose the entry
'Preferences'. If you select 'Preferences', the program takes the length of your
lunch-break out of the correspond preferences.

The optional comment can hold up to 16 characters. Here you can describe the work
you've done at the selected time. Also it's possible to enter the ShortCuts (the
short names) of your projects done at the specified time (see 'Define Projects').
To make it easier to enter the projects, you can press the 'Comment'-Button. Then
a new dialog appears, where you can easily choose the Project(s). This dialog is
described in the next chapter.

The possible fields depend on your description:
For example, if you choose 'go on leave' you do not have to enter start/endtime.

If you choose 'manual de-/increase' you only have to enter the unsigned-value.

Choose 'OK' the save the new record or 'Cancel' to abort.

Before saving your record, JobTime checks your definition of mimimum-lunch-breaks
(see Preferences - Cutoffs).


----------------------------------------------------------------------------------
                             Notes (only in registered version)
----------------------------------------------------------------------------------

It is possible to enter a note up to 3000 characters for every record. Once
a note is added, notes can be easily changed, copied, deleted, moved, appended
and swapped simply by using drag and drop.

To create a note, call the record for editing and press at the note-button.
The note can be created just the way they are created in the memo-pad
application. Copy/paste is available.

A record with a note gets a note-icon in all overviews. The icon is right
beyond the last column.

The note can be changed by opening the record with it and pressing the note-
button (the same way as for creating the record). 

Another possibility is to tap at the note-icon in one of the overview-screens.
Then a list with all possibilities for this icon appears. Choose the one you
like (or cancel by tapping outside the bounds of that list).

In all overview-screens drap and drop is supported. Tap on the note-icon and
drap it on another record. Depending on the record, where the icon is released,
a list with all possible actions appears. 

1) If the record, where the icon is released, has already a note, you can
   choose one of the following operations: append and swap
2) If the record, where the icon is release, has no note, the following
   options appear: copy and move

You can cancel the operation by tapping outside the bounds of that list.

The global find performs NO find on notes for records (performance).

----------------------------------------------------------------------------------
                                Project-List-Dialog
----------------------------------------------------------------------------------

This dialog appears when entering a new record and pressing the 'Comment'-Button.
The dialog-title is 'Add Project'. You get a list of all defined Projects (as
long as you defined projects...). Also you see your actual comment-field under
this list.
The list shows the long-names of your projects. If you have defined projects
without long-names, the short-names are displayed. Those projects get a '(s)'
added behind their names.
By pressing the description-button you'll see the description, as long as you
had entered some. If not, a message appears.
With add, the short-name of the project is added to the comment-field. You can
add as many projects you want, as long as the length of the field don't reach
the number of 17 characters. You also can edit the comment-field manually.

From the menu you can choose 'Move project'. Then you have to tap onto the
project you want to move. After that tap at the new insertion point. The project
is moved to this position.

By pressing the OK-Button, this dialog closes and the changes are taken into
the previous dialog.
When pressing Cancel, changes are not taken into the previous dialog.

----------------------------------------------------------------------------------
                                  Editing records
----------------------------------------------------------------------------------

You can edit a record, if you select one in the List screen (see above). Now
appears the same screen as for entering a new reocrd, except the new 'Delete'
Button. I think, this button is self-explaining.

----------------------------------------------------------------------------------
                                  Creating Memos
----------------------------------------------------------------------------------

You can create memos of your records. The content for the memos are user-definable.
You create memos by selecting 'Create Memos' in the menu of the main screen. Then
you were asked about the contents of your memos. The resulting memos are a list
like the one in the List screen. After you selected your contents you can select
the begin and end-date of the range of the resulting memos.

The software produces seperated memos for every month.

----------------------------------------------------------------------------------
                             Creating Datebook entries
----------------------------------------------------------------------------------

It's possible to create datebook-entries out of your entries recorded in JobTime.
These entries book the time you've spent at work with a comment that they are
created by JobTime. To create these entries, just choose the menu and set the
begin and the end-date for the operation.

Note: If you don't know, if you like or dislike the entries, try this point with
      a small number of entries by choosing a very small date-range.
      The entries have to be manually removed, there is no remove-option !!

----------------------------------------------------------------------------------
                                Reset Archive Bits
----------------------------------------------------------------------------------

You can choose this function by selecting the menu 'change archive bits' and
selecting 'reset' in the pop-up dialog.

With creating datebook-entries, archive-bits are set. This helps to avoid doubled
entries. So if you create datebook entries for a range with already existing
entries, they are not be created again.

But even if you delete these entries in the datebook, you can't create them again.
To do this, you have to reset the archive bits. But beware: after resetting the
archive-bits you can create items in the datebook, even if they already exist.
To avoid this, you can try to update the archive-bits.

----------------------------------------------------------------------------------
                                Update Archive Bits
----------------------------------------------------------------------------------

You can choose this function by selecting the menu 'change archive bits' and
selecting 'update' in the pop-up dialog.

This point resets the archive-bits and searches afterwards the datebook for items
created by JobTime. Found items get a new archive bit.
Remember: This only works, if the datebook-items from JobTime were not changed.
          I can't guarantee the work of this operation, when you've changed an
          item. So the best thing is not to edit any of the items created by Job-
          Time.

----------------------------------------------------------------------------------
                                Graphical overview
----------------------------------------------------------------------------------

This screen shows an overview over one year. You can change the year by using the
corresponding menu.

There are various icons representing the types of entries like holiday, normal
work, ... The description of those icons can be found in the program.

Like said above, you have more than one possibility to create entries for a normal
working day. The first one is, you create one entry for the whole time. Let's say
you normally have to work 7 hours a day. On one day you work 7:30 hours. 

  a) You enter 7:30 in one record with description 'normal work'
  b) You enter 7:00 in the first record with the description 'normal work'
     and a second record with length 0:30 and description 'work overtime'.

Both cases are handled the same way. All calculated times are the same.
The only difference is in the graphical overview: There a) and b) are handled
in a different way.

case b): Working times entered in such a way are shown as a '+'.
case a): Depends on setting of the global preferences. If you chosse no deeper
         algorithm, those days are shown as normal working days. You have no
         possibility to decide whether you've worked longer or not.
         If you choose a deeper algorithm the program gives you an information
         on your working time that day. You can see if you worked shorter, longer
         or the normal time.

Note:  The more detailed graphical-overview takes more time !!!

----------------------------------------------------------------------------------
                                  Define Projects
----------------------------------------------------------------------------------

This function (together with the following) helps you keeping track of your
projects (but not in that great way you may like to have). 

First of all you have to define your projects. A project is defined by giving it
a short name; when you enter your daily working-time and add this short name as a
comment, the new record defines time worked for the project. Because of this
reason, all projects should have unique names and should contain normally not used
characters like '%','#',.... Examples are '%pr1, %pr2, ....

It is possible to define more than one project to a new working-entry. To do this
you only have to add the short names of all included projects as a comment. Because
of the comment only holing up to 16 characters, the short names should be really
short.

To identify the projects after a long period, you can add a long name and a 
description to each project. Also, you should do this, because the dialog for
choosing projects (when entering new data) refers to the long name.

In addition you can decide whether you want to see a statistic for this project
or not. You can change this setting whenever you want.

By choosing 'Details' you see a window, where you can enter various kind of costs
for a project:

  - Fix initial costs: These are costs, which were billed once at the beginning of
    a project.

  - Fix costs per day: Costs, which a billed for every day of a project, not de-
    pending on working at these days (Even you do not work on a project, costs
    are taken into consideration).

  - Fix costs per worked day: Costs, which are billed for each day working on a
    project.

  - Fix costs per record: Costs, which are billed for each record on this project.
    If you worked two times on a project (one one day), these costs are taken two
    times.

  - Currency: This is the currency for this project.

  - Var costs per unit: All costs defined above are fixed costs. They do not
    depend on the time worked on a project. Here you can define the costs for one
    time-unit.

  - Size of unit: This is the unit-size (in minutes). For example, if you worked
    one hour on a project, take 2$ for a time-unit with a unit-size of 10 minutes,
    you have costs of 12$ for your project. 
    You only can be charged for a full unit. So if you have a unit-size of 10 
    minutes and worked 11 minutes on a project, you were charged 2 units.

  - Project end: This defines the ending-date of your project. You have the
    following options: 'last pwork' defines the project-end at the last day worked
    on the project in the choosen date-range, 'Actual day' and 'Select date', where
    you can choose the project-end yourself.

  - Calculate var costs separately: If you mark this checkbox, all records are
    billes with their separate costs. If you do not mark it, the sum for all
    records is calculated and billed after the calculation. A Example:
    * You have 3 records for a project:
        1.) 11 minutes
        2.) 12 minutes
        3.) 17 minutes
      The unit-size is 5 minutes. A unit costs 2$.
    * Costs separatley billed costs:
        1.) 11 minutes --> 3 units --> 6$
        2.) 12 minutes --> 3 units --> 6$
        3.) 17 minutes --> 4 units --> 8$
                                   ==> 20$
    * Costs not separately billed:
        11 minutes + 12 minutes + 17 minutes = 40 minutes
        40 minutes --> 8 units     --> 16$

All projects are stored seperated from the database containing your daily entries.
So it is possible to give the project-definition-database to another one, maybe
a colleague of yours is using JobTime and works on the same projects...

If you want to store a project, JobTime checks the short name. If it contains no
character, a message will appear.
If you changed the short-name of the project, JobTime looks for records in your
database, which refer to the old-short name. If JobTime finds one or more, it asks
you, if you like to change all records, which contain the old short-name. If you
don't want JobTime to change your records, the new short-name is stored without
any other changes.
If you like JobTime to change all records associated with this project, JobTime
first checks, if this is possible (eg: is the new name longer, there has to be
enough space in all comments with this project to store the new one). If this
isn't possible, you get an error, otherwise JobTime makes the changes.

----------------------------------------------------------------------------------
                               Show Project Statistics
----------------------------------------------------------------------------------

When choosing this function, you see a statistic for every project you choose in
the definition module.

First you were asked for the date-range for the statistics. Then a window opens
and shows all kinds of statistics for the project(s).

By pressing the 'Memo' button a memo with the actual statistic is generated.

----------------------------------------------------------------------------------
                                    Delete records
----------------------------------------------------------------------------------

JobTime is able to delete records of a choosen date-range automatically. You can
select one the following date-ranges:

1) From first record:
   You select a date. JobTime deletes all records up to your choosen date. Because
   no records exists after deleting for the choosen range, JobTime deletes all
   preferences, which are not needed anymore. To get the same values for overtime,
   holiday and so on, JobTime calculates new values for the start of the (new)
   first preferences. After deleting such records, all values should remain un-
   changed.

2) A date-range:
   You select start-and end-date. All records within this range are deleted.

3) To last record:
   You select the start-date. From this date, all records are deleted (to the end)

You should have a backup of your deleted records, since you maybe need them in the
future.

----------------------------------------------------------------------------------
                                    Registering
----------------------------------------------------------------------------------

With selecting the menu 'Register' you can register your copy. Once there, you can
input your key, which you received after registering via www.palmgear.com.

----------------------------------------------------------------------------------
                                    Known Bugs
----------------------------------------------------------------------------------

There are no known bugs anymore.

If you find any, please report to me via E-mail (address below).

----------------------------------------------------------------------------------
                                   Future plans
----------------------------------------------------------------------------------

I received many suggestions for enhancements. I'm to able to implement all of them.
But up to now, all features I like to see, are in this version.

To implement enhancements I need more and more time, since it is a complex program
and changes are correlated to many points of algorithms. To include all you see
in this version, I put a great amount of time into this program.

Some people questioned about programming a conduit. I may be able to do so, but
since I need to buy a compiler, this have to be released as shareware. Please tell
me, if you would spend some money for this development (I don't like to buy a
compiler and noone accept it).

Nevertheless, if you think of other enhancements, you can mail them, too. Maybe I
implement them in a future release, when having enough time.

----------------------------------------------------------------------------------
                                      About me
----------------------------------------------------------------------------------

I'm 27-year old and finished study at the end of the last year. Now I work for TUI,
a big company selling vacation trips. The headquarter is located in Niedersachsen,
Germany. I only have time for programming after work, so please be patient with
bug-fixes or enhancements. If you want to contact me, please write an E-mail to:

    JobTime@mboenig.de

I'm trying to answer all mails. If you don't know how to enter your special working
model, you can also ask me via E-mail.

Finally, I'm very sorry of my english. If there are mistakes, don't restrain
yourself mailing me. I'm still learning.........

If you like to spend some time in helping translating JobTime into other languages,
please mail me.

----------------------------------------------------------------------------------
                                     HISTORY
----------------------------------------------------------------------------------

3.10 ( 12/09/99):	- Added: Possibility to enter notes for records
			- Added: german version
			- Fixed: Find crashes under certain circumstances
			- JobTime gets Shareware

3.00 (11/18/1999):	- Release Version 3.00

3.00b2 (11/16/1999):	- Fixed: some minor bugs

3.00b1 (11/14/1999):	- Added: Working times on a daily basis
			- Added: possibility of entering times in decimal format
			- Added: automatic deletion of records
			- Added: 
			- Added: new type for records
			- Added: safety-mechanism to prevent input of wrong
			  records
			- Added: Navigate-menu in overviews
			- Added: use Cutoffs when creating memos
			- Added: Use Cutoffs in overviews
			- Added: Startvalues for every contract
			- Added: Edit-menu for all input-dialogs
			- Added: new Icons in graphical verview
			- Ficdd: invalid chunkptr in overviews
			- Fixed: Cutoffs are not taken into consideration sometimes
			- Fixed: holidays in the future are taken into
			  consideration
			- Fixed: Startvalues are ignored in some cases
			
2.85 (07/08/1999):	- Fixed: correct input of lunch-breaks
			- Fixed: german menue
			- Fixed: help text for global preferences

2.84 (09/06/1999):	- New:   Rewrote most parts
 			- Added: faster calculations
			- Added: easier input of vacations
			- Added: german version
			- Added: shows times spent on projects

2.83 (05/27/1999):	- Added: manual decrease/increase of overtime possible
			- Added: preset of new-dialog for choosen date possible
			- Added: check for overlapping records (new record)
			- Added: use a registrated Creator ID
			- Fixed: calculation of holidays when changing contract very
				 often
			- Fixed: wrong calculation in created memos

2.82 (05/11/1999):	- Added: Now it comes with pre-defined preferences for an
				 much easier configuration
			- Added: Include a TimeStamp-application for an easier
				 tracking of  working-time
			- Added: Create Memo of Project Statistics
			- Added: Rearranging of projects possible
			- Fixed: Several bugs

2.81 (05/06/1999):	- Fixed: 'Fatal exception' when leaving Preferences-screen

2.80 (05/05/1999):	- Fixed: JobTime is more stable now
 			- Fixed: wrong holiday calculation, when taking holiday at
				 a non working day
			- Fixed: Correct Calculation for carry-overs
			- Added: Cut off values can be entered
			- Added: minor enhancements in user-interface

2.79 (04/28/1999):	- Added: When creating a new record, you can choose
			         projects from a list
			- Added: When changing a project-name, JobTime can change
			         all associated records
			- Added: Info-screens for all preferences-screens
			- Added: Some minor changes of dialogs
			- Added: Rewrote documentation for preferences-settings
			- Added: Example in Documentation

2.78 (04/25/1999):	- Fixed bug: No endless-loop when deleting the last record
			- Fixed bug: 'Fatal exception' when selecting no normal
			 	 working day. Isn't possible now.
			- Added: Date-format for in-/output is taken from System-
				 Preferences
			- Added: User can define preset of lunch-break checkbox
			- Added: Simplify settings of Preferences by including two
				 new buttons to the preferences form
			- Added: Recalculation when closing global preferences is
			         only executed when auto-recalculation is switched
			         from off to on.

2.77 (04/22/1999):	- Fixed bug: No 'fatal exception' when using the Pilot-find
                          function with JobTime installed

2.76 (04/19/1999):	- first public release


----------------------------------------------------------------------------------
                                     LICENSE
----------------------------------------------------------------------------------

JobTime may be distributed as long as this file is included unmodified. In using
this software, you understand and agree that this software is provided 'as is'
without warranty of any kind. The author do not make any warranties, either
expressed or implied, including but not limited to implied warranties of
merchantability and fitness for a particular purpose, with respect to this soft-
ware. In no event shall the author be liable for any consequential, incidental, or
special damages whatsoever (including without limitation, damages for 
loss of critical data, loss of profits, interruption of business and the like) 
arising out of the use or inability to use this software.

----------------------------------------------------------------------------------
                                      THANKS
----------------------------------------------------------------------------------

First of all I would like to thank my beta-tester Klaus Kettner. He let me know
bugs and didn't resist in testing, even on big crashes with data lost.
Also a great 'thank you' to all of you, who told me not only bugs, but also
enhancements. Without telling me, I weren't able to fix the bugs and you wouldn't
find some enhancements in this software (or you will find them in next releases).
